package com.lankystar.sos.service;

import java.io.File;
import java.util.List;
import java.util.Map;

import com.lankystar.sos.model.User;

/**
 * 用户业务接口
 * @author SYX
 *
 */
public interface IUserInterface {

	/**
	 * 用户登录
	 * @param userPhone
	 * @param userPassword
	 * @return
	 */
	Map<String, Object> userLoginMethod(String userPhone,String userPassword);
	
	/**
	 * 用户注册
	 * @param record
	 */
	void userRegisterMethod(User record);
	/**
	 * 用户信息更新
	 * @param record
	 */
	void modifyUser(User record);
	/**
	 * 用户认证
	 * @param record
	 * @param userId
	 * @param userTypeId
	 */
	Map<String, Object> userApproveMethod(File idCardBack,File idCardFront,String idCard,Integer userId,Integer userkey);
	
	/**
	 * 根据userId返回对应的基本信息或基本信息+资质认证信息。
	 * @param userId
	 * @return
	 */
	Map<String, Object> resultUserMessageMethod(Integer userId);
	
	/**
	 * 通过手机号查找用户
	 * @param userPhone
	 * @return
	 */
	User queryUserByuserPhoneMethod(String userPhone);
	/**
	 * 根据求救者的经纬度查找所有附近的人
	 * @param longitude
	 * @param latitude
	 * @return
	 */
	Map<String, Object> queryUserlistMethod(int type,Double longitude,Double latitude);
	/**
	 * 查找所有施救者 为了推送消息
	 * @param type
	 * @param longitude
	 * @param latitude
	 * @return
	 */
	List<User> queryRespUserlistMethod(int type,Double longitude,Double latitude);
	/**
	 * 上传头像，返回 头像路径
	 * @param userId
	 * @param userPortrait
	 * @return
	 */
	Map<String, Object> userUpLoadMethod(Integer userId,File userPortrait);
	/**
	 * 通过userId查找用户所在位置
	 * @param userId
	 * @return
	 */
	Map<String, Object> queryUserLocationMethod(Integer userId);
	/**
	 * 上传用户位置
	 * @param userPhone
	 * @param longitude
	 * @param latitude
	 */
	void userLocationUploadMethod(String userPhone,double longitude,double latitude);
	/**
	 * 根据手机号查找求救记录
	 * @param userPhone
	 * @return
	 */
	Map<String, Object> querySosOrderByuserPhone(String userPhone);
}
